A study of value speculative execution and misspeculation recovery in superscalar microprocessors
نویسندگان
چکیده
Recent research has shown that value prediction is a promising way to collapse the true data dependencies. To fully exploit the potential of value speculation, however, a highly accurate value predictor and efficient architectural support for value speculative execution are both necessary. In this paper, we address in detail value speculative execution in a generalized superscalar model based on MIPS R10000. In particular, in order to minimize misprediction recovery penalties, the selective reissuing mechanism is discussed and the necessary support at each pipeline stage are described. In this study, three important design issues are highlighted including: 1) when to resolve/verify the prediction; 2) where to keep the dispatched instructions after they are issued speculatively to enable reissuing; 3) how to dynamically construct the data dependence chain. The critical paths in the possible implementation are also identified. Then, potential benefits on the performance are discussed with different reissue latencies and value misprediction rates. Our experimental results show that there is a great speedup potential, on average up to 12% in our 4-way issue superscalar model, once highly accurate value predictors are available, and also it is shown that value speculation can achieve much higher speedups with better branch predictors and wider issue bandwidth.
منابع مشابه
The Impact of Value Misspeculation on Branch Resolution in Out - of - Order Superscalar Microprocessors
As contemporary microprocessor design attempt to expose additional instruction level parallelism (ILP), data value speculation has become a mainstream microarchitectural feature. Many different value speculation techniques have been proposed. The goals are to both achieve a high prediction rate, while predicting values for critical instructions. One key issue is how value-based speculation affe...
متن کاملA Correctness Proof of a Speculative, Superscalar, Out-of-order, Renaming Microarchitecture | Extended Technical Report
Microarchitects are increasingly using techniques such as speculation, register renaming, and superscalar out-of-order execution to make use of instructionlevel parallelism. However, the growing complexity of modern microprocessors exacerbates the di culty of relating them to the simple machines that they emulate. Flaws found later in lower-level validation are often microarchitectural in natur...
متن کاملThe Effect of Speculative Execution on Cache Performance
Superscalar microprocessors obtain high performance by exploiting parallelism at the instruction level. To effectively use the instruction-level parallelism found in general purpose, non-numeric code, future processors will need to speculatively execute far beyond instruction fetch limiting conditional branches. One result of this deep speculation is an increase in the number of instruction and...
متن کاملOptimistic Parallelism on GPUs
We present speculative parallelization techniques that can exploit parallelism in loops even in the presence of dynamic irregularities that may give rise to cross-iteration dependences. The execution of a speculatively parallelized loop consists of five phases: scheduling, computation, misspeculation check, result committing, and misspeculation recovery. While the first two phases enable exploi...
متن کاملMemory Address Prediction for Data Speculation
Data speculation refers to the execution of an instruction before some logically preceding instructions on which it is data dependent. Data speculation implies some form of prediction of the data required by the speculative executed instruction and a recovering mechanism in case of misspeculation. This paper shows that load/store instructions are very good candidates for speculative execution s...
متن کامل